LPIC Level1 Exam 102 Objectives (Release 2)

※ 本資料は Exam 102 Objectives (Release 2) のドキュメントをベースに個人で作成したものです。 www.yesitis.co.jp/LPI とは何の関係もありません。 (参考サイト:http://www.yesitis.co.jp/LPI/Release_2/p-obj-102rel2.html)

概要

Exam Details for Exam 102 (revision 1) 102テストはLPIC-1(LPI 認定レベル1)必須科目です。Linuxのすべてのディストリビューション共通の基本的な システム管理の技術が出題範囲となっています。 課題にはそれぞれ重要度がつけられています。 重要度はおおまかに1から8までで課題の重要度を相対的に表しています。 高い点数がつけられた課題についてはより多くのテスト問題が設定されます。

102試験範囲

Topic 105 カーネル (4) Topic 106 ブート、初期化、シャットダウン、ランレベル (3) Topic 107 プリント (1) Topic 108 ドキュメンテーション (4) Topic 109 シェル、スクリプト、プログラム、コンパイル (5) Topic 111 管理業務 (4) Topic 112 ネットワークの基礎 (4) Topic 113 ネットワーク・サービス (4) Topic 114 セキュリティー (4)

■ Topic 105 Kernel

= 1.105.1 = 実行中のカーネルおよびカーネル・モジュールの管理・クエリ (Weight: 4) カーネルおよびカーネル・ローダブル・モジュールの管理およびクエリ。 各種コマンド、設定ファイルを使用しカーネルおよびカーネル・モジュールの情報取得・ロード・アンロード 構築・変更及び管理。ファイル名以外での名前によりシステムをコンフィギュレートし、モジュールをロードする。 key file & utilities  1) /lib/modules/kernel-version/modules.dep depmode により生成される。モジュールの依存関係について記載されている。   modprobe はこの情報からモジュールの依存関係を解決している。  2) /etc/modules.conf(/etc/conf.modules) カーネルに渡すパラメータの設定を行う。  ネットワークインターフェイス・IRQ・DMA・サウンドカードなどに関するエイリアスやオプション、モジュールの    読み込み順序等の情報を記載する。  3) depmod モジュールに依存するファイルを確認する。 また、/etc/modules.dep とマップファイルを作成する。/etc/modules.dep は modprobe が参照する。    -a /etc/modules.conf があればそこで指定されている全てのディレクトリでモジュールを検索する。 -e 各モジュールごとに、解決されていない全てのシンボルを表示する -s 全てのエラーメッセージを、標準出力ではなく syslog デーモン経由で書き出す。  4) insmod モジュールをカーネルに組み込む。   -s 全てのエラーメッセージを、標準出力ではなく syslog デーモン経由で書き出す。    -v コマンドの詳細出力をする。    -f 実行中のカーネルのバージョンとモジュールに組み込まれているカーネルの対象バージョンが違っても      モジュールのロードを試みる。(半強制)  5) lsmod カーネルに読み込まれているモジュールの表示。    /proc/modules を参照しているので同じ内容となる。  6) rmmod モジュールを取り除く。   -s 全てのエラーメッセージを、標準出力ではなく syslog デーモン経由で書き出す。     -v コマンドの詳細出力をする。   -a モジュール全てのの自動削除。  7) modprobe insmod と同じくモジュールをカーネルに組み込む。    ただし、依存関係のあるモジュールも併せてカーネルに組み込むので都度必要となるモジュールを組み込む必要が無い。    -r 読み込んだモジュールを取り除く。rmmod と同じ役。    -a 最初にロードしたのみならず、マッチしたモジュール全てをロードする。 モジュールの依存関係は /etc/modules.dep を元にしている。    読み込むドライバモジュール自体の設定は /etc/modules.conf を見ている。    RH Linux ES では /etc/modprobe.conf となる。 8) modinfo ローダブルモジュールの情報を表示する。 9) kmod ローダブルモジュールの自動ロード/アンロードを行うカーネルの機能。    以前は kerneld というデーモンが同様の役割を果たしていたが、現在では kmod が使用されている。 10) uname CPUやカーネル、アーキテクチャに関する情報を表示する。    -a 全ての情報を出力。 -r 使用しているカーネルの情報を出力。 -m CPU のタイプを出力。 --------------------------------------------------------------------------------------------------- = 1.105.2 = カーネルおよびカーネル・モジュールの再設定、作成、インストール (Weight: 3) ソースからのカーネルおよびカーネル・モジュールのカスタマイズ・作成・インストール。 カーネル・コンフィギュレーションのカスタマイズ・新しいカーネルのビルド・カーネル・モジュールのビルド。 モジュールとともに新しいカーネルのインストールをおこないブート・マネージャーが新しいカーネルおよび 関連ファイル(通常 /boot 以下のもの。ブート管理設定の詳細については、1.102.2を参照のこと)がロケート されるようにする。 key file & utilities  1) /usr/src/linux/*   カーネルソースが保存されている標準のディレクトリ。  2) usr/src/linux/.config   後述する make config(xconfig, menuconfig)により設定したカーネルの情報は .config に保存される。  3) /lib/modules/kernel-version/*   カーネルが必要とする各種モジュールが保存されているディレクトリ。  4) /boot/*    カーネルのイメージやブータブルモジュールなどシステム起動の際に必要となるファイルが保存されている。  5) make    ソースコードを基にモジュールを作成する際に使用するコマンド。   make targets: mrproper, config, menuconfig, xconfig, dep, clean, zImage, bzImage, modules   modules_install, modules_install カーネルの構築手順  1. make mrproper    カーネルに設定された各パラメータを標準に戻す。(初期化)  2. make xconfig or menuconfig or config   カーネルに組み込むパラメータの設定。   何のためにこれらのオプションがあるのか考えておくのが吉。(例えばGUIが使えない時に使う。とか)  3. make dep    カーネルのソースファイルとヘッダーファイルの依存関係をチェック。  4. make clean    前回カーネルコンパイルした時の不要な情報を削除。  5. make bzImage or zImage    カーネルイメージの作成。    512Kbyte 以下のカーネルを作成する場合は make zImage を使う。 それ以上のカーネルを作成する場合は make bzImage (Big zImage)  6. make modules    カーネル・モジュールのコンパイル。  7. make modules_install   カーネル・モジュールのインストール  8. cp "ディレクトリ(任意)"/arch/i386/boot/bzImage /boot/vmlinuz  9. cp "ディレクトリ(任意)"/System.map /boot/System.map  10. Lilo or Grub の設定ファイルを編集。    Lilo ⇒ /etc/lilo.conf   Grub ⇒ /boot/grub/grub.conf  11. Lilo の場合は編集後に /sbin/lilo コマンドで設定を反映させる。    Grub では不要。  ※ カーネルを配布しているのは "www.kernel.org" --------------------------------------------------------------------------------

■ Topic 106 ブート、初期化、シャットダウン、ランレベル

= 1.106.1 = システムのブート (Weight: 3) ブートのプロセスからシステムのガイドができる。ブート・ローダにコマンドを送り、ブート時にカーネルに オプションを与えログ・ファイル中のイベントをチェックできること。 key file & utilities  1) dmesg システム起動時のブートアップメッセージを確認。  2) /var/log/messages (-rw-------) syslogd が様々な(指定する)レベルのメッセージを書き出すログ。   一般ユーザでの閲覧はできず root のみが閲覧できる。              3) /etc/modules.conf(/etc/conf.modules)(= 1.105.1 = 参照)  4) LILO ブートローダー。    /etc/lilo.conf にシステム起動時に必要となるカーネルの情報を記載する。 あくまでカーネルをキックをするローダーである。  5) GRUB LILO と同じくブートローダー。 設定ファイルは /boot/grub/grub.conf もしくは /etc/grub.conf。/etc/grub.conf は /boot/grub/grub.conf のシンボリックリンク。   以下、grub.conf の内容。   default=0 ※1   timeout=10 ※2   splashimage=(hd0,0)/grub/splash.xpm.gz ※3   title Red Hat Linux (2.4.20-18.9) ※4   root (hd0,0)  ※5   kernel /vmlinuz-2.4.20-18.9 ro root=/dev/hda2 ※6   initrd /initrd-2.4.20-18.9.img ※7   ※1 標準で起動させるOS。    一番初めに記載されているものが0(ゼロ)となる。     つまり2つのカーネルが登録されている場合、一番目のカーネルは0(ゼロ)で指定し、2番目を指定する時は1となる。   ※2 OS選択画面にてOSが起動を開始するまでの秒数。   ※3 OS選択画面の背景に表示される画像ファイル。   ※4 OS選択画面に表示されるOSのタイトルラベル。   ※5 Linux の起動に必要なファイルが保管されているパーティション。   ※6 カーネルのパスと起動時に設定されるオプション。   ※7 initrd イメージファイルのパス。 = 1.106.2 = ランレベルの変更、システムのシャットダウンおよびリブート (Weight: 3) システムのランレベルの管理。シングル・ユーザ・モードの変更、システムのシャットダウン、リブート。 ランレベルの変更前にユーザへ告知をおこない、プロセルを適切に終了させることができる。 デフォルトのランレベルの設定ができること。 key file & utilities  1) runlevel [utmp-file] /var/run/utmp ファイルを参照し前回と現在の起動レベルを出力する。    指定した utmp ファイルを読む込むこともできる。 また、who -r を使用することで同様の結果を得ることが出来る。  2) shutdown    システムの停止・リブートを安全に行う。    -t "秒数" 指定した時間を経過するまで処理を行わない。 -k "メッセージ" このオプションが指定されると、ほかにどのようなオプションを入れようとも実際には     シャットダウンを行わず、警告のメッセージを利用者に送る。   -r シャットダウン後、リブートをする。    -h システムを停止する。 -f リブート後に fsck を行わない。 -F リブート後に fsck を必ず行う。 -c 現在実行中のシャットダウンをキャンセルする。時刻の指定は出来ない。    指定した時刻に shutdown を実施する事もできる。時刻の指定は様々な形式で指定できる。 # shutdown hh:mm +(プラス)は分を表す。2分後に停止をする例。    # shutdown -h +2   また、即座に処理を行いたい場合は now を使用する。 # shutdown -r now  3) reboot(halt/poweroff)    システムの終了を /var/log/wtmp に残しシステムを停止する。    また、一般的には reboot もしくは halt が使用される事が多いが reboot 及び poweroff は halt のシンボリックリンクである。   -n 再起動または停止する前に sync しない。 -d wtmp レコードへの記録を行わない。 -n オプションを指定した場合は、自動的に -d オプションも付けられる -p システムを停止する時に電源を切る。 halt が poweroff という名前で起動された時はこれがデフォルトである  4) init 指定したランレベルでシステムを起動し、ランレベルに対応する起動スクリプト(/etc/rc.d/****)を実行する。    全てのデーモン及びプロセスは init から起動されるものであり、init は全てのデーモン及びプロセスの親となる。    そのため init の PID は 1 である。 /sbin/init "ランレベル" で指定したランレベルでシステムを起動する事ができる。(ランレベルについては後述)     5) telinit    /sbin/telinit は /sbin/init にリンクされており init と同じだが実行させる時間(秒数)を指定できる。    init のバイナリは、自分の プロセスID を見て、自分が init なのか telinit なのかを判断する。 -t "秒数" "ランレベル"    尚、ランレベル変更後に exit をすると元のランレベルに戻る。 # telinit -t 15 3 15秒後にランレベル3に戻る。  6) /etc/inittab システム起動時に init がどのランレベルで起動するべきか記載されている。   initdefault にはシステムを起動する際のデフォルトのランレベルを記載する。 id:5:initdefault:    ファイル内の書式は id:runlevels:action:process となり、以下の規則に則った内容を記述する。 runlevels ⇒ 指定した動作を行なうランレベルの一覧を示す。 action ⇒ どのような動作を行うべきかをあらわす。 process ⇒ 実行されるプロセスを指定する。プロセス欄の最初の文字が‘+’である場合、 init は そのプロセスに対して utmp 及び wtmp アカウンティングを行わない。これは gettys が 自分の utmp/wtmp の面倒を自分でみてしまうために必要となっている。 これは歴史上有名なバグでもある。 7) ランレベル init による動作を行う際に参照されるシステムの起動レベル。    0 ⇒ システム停止    1 ⇒ シングルユーザーモード。s 及び S も同じ。 2 ⇒ CUI でシステムを起動する。尚、NFS の機能はしない。 3 ⇒ CUI でシステムを起動する。 4 ⇒ 使用されていない。 5 ⇒ GUI でシステムを起動する。 6 ⇒ システムリブートを行う。    a,b,c ⇒ /etc/inittab 中で、ランレベル a, b, c のいずれかを含むエントリだけを実行する。    Q(q) ⇒ /etc/inittab ファイルを調べ直す。    U(u) ⇒ 状態はそのままで自分自身を再実行するよう init に伝える。 ランレベルは Ss12345 のいずれかでなければならない。それ以外は無効となる。  8) 起動スクリプト デーモンなどのサービスは /etc/rc.d/init.d/* もしくは /etc/init.d/* により起動される。    例えばランレベル 3 の時は /etc/rc.d/rc3.d ディレクトリ内の起動スクリプトが開始される。    この起動スクリプトは /etc/init.d/*** のリンクである。 --------------------------------------------------------------------------------

■ Topic 107 プリント

= 1.107.2 = 印刷および待機の管理 (Weight: 1) プリントの順番およびユーザのプリンタ・ジョブの管理。プリント・サーバとユーザの順番のモニタリングと プリンタに関する一般的なトラブルシューティングができること。 key file & utilities  1) lpc 対話式のコマンド。ラインプリンタの制御を行う。 尚、/etc/printcap で定義されているプリンタのみ制御できる。 オプションの引数の一番目には必ず "プリンタ名" が入る。 例: # lpc abort lp1 (プリンタlp1 のジョブを停止する) abort 印刷中であろうと印刷をただちに停止する。 clean enable プリントキューへのスプールを開始する。 disable プリントキューへのスプールを停止する。 down プリントキューを止めて印刷を停止する。 up   プリントキューへのスプールを開始し、子プロセスの lpd を起動する。 restart 新しく lpd デーモンを起動する。 start 子プロセスの lpd を起動し、印刷処理を開始する。 stop 印刷ジョブが終了したら子プロセスの lpd を停止する。 status プリントキューの状態を表示する。 topq 指定した印刷ジョブを優先的に処理する。    例: # lpc topq lp1 15 (lpc topq "プリンタ名" "ジョブ番号")  2) lpq   lpd が使用するスプールエリアからプリンタキューの状態を確認する。 -P 特定のプリンタを指定する。 -l ジョブエントリを構成するファイルの詳細について情報を表示する。 -a 全てのプリンタの状態を表示する。  3) lprm    印刷ジョブをキューから削除する。    -P 特定のプリンタを指定する。 - ハイフンを指定した場合は自分の全印刷ジョブを削除する。 "user" 指定した "user" が所有する全てのジョブを削除する。 "ジョブ番号" プリンタの "ジョブ番号" に一致するジョブ(キュー)を削除する。    例:ユーザー ken が所有するジョブ番号13のジョブを削除する。 $ lpq -l 1st:ken [job #013ucbarpa] (standard input) 100 bytes $ lprm 13  4) lpr 指定したファイル、もしくは標準入力から印刷ジョブを生成しキューに登録する。    -P 指定したプリンタで印刷を行う。    -h バーストページを印刷しないようにする。    -m 終了時にメールを送ってくる。    -r スプーリングの終了時にファイルを削除する。 -w prコマンドのページ幅を指定したサイズに変更する。    -#num num にはコピーするファイルの枚数を指定する。  5) /etc/printcap ローカルプリンタ、リモートプリンタの各種設定を行う。 lpd デーモンは /etc/printcap にある情報を読み込み印刷処理を行っている。 設定は一台のプリンタにつき一行であるが、可読性の問題から \(バックスラッシュ)を入れることで 改行を行う。#(シャープ)がある行はコメントと見なされ読み込まれない。 /etc/printcap の設定項目。 sd="スプールディレクトリ" /var/spool/lpd 以下のスプールディレクトリを指定する。 mx#"番号" 印刷ジョブの最大サイズ。(#0は無制限) sh ページヘッダーの印刷を抑制する lp ローカルプリンタデバイス名 if="フィルタ"   印刷フィルタを指定する。 if="ログファイル" エラーメッセージを記録するログファイルを指定する。    rm="リモートホスト名" リモートプリンタを使用する場合にリモートホスト名を指定する。 rp="リモートのキュー" リモートプリンタを使用するときのプリントキューの送り先を指定する。 = 1.107.3 = ファイルの印刷 (Weight: 1) プリント列の管理およびプリント・ジョブの操作。設定されたプリント列へのジョブの追加や削除、および テキストファイルをプリント用にポストスクリプトへ変換すること。 key file & utilities  1) lpr(= 1.107.2 = 参照)  2) lpq(= 1.107.2 = 参照)  3) mpage   指定したファイルを PostScript形式にする。 = 1.107.4 = ローカル・プリンターおよびリモート・プリンターのインストールおよび設定 (Weight: 1) プリンタ・デーモンのインストールおよび、プリンタ・フィルタのインストールと設定(e.g.: apsfilter, magicfilter)。 ローカル・プリンタ、リモート・プリンタのLinuxシステムにアクセスできるようにすること。 ポストスクリプト、非ポストスクリプト、および Sambaプリンターを含む。 key file & utilities  1) lpd   ラインプリンタ スプーラー デーモン。/etc/printcap の情報を読み込みプリンタキューの 印刷や削除、キューの表示を行う。後述する /etc/hosts.lpd 及び /etc/hosts.equiv ファイルも    参照し印刷の制御も行う。    印刷要求があった場合は子プロセスとして lpd を生成し、子プロセスの lpd が印刷処理を行う。    親 lpd は印刷要求の受け口である。  2) /etc/printcap(= 1.107.2 = 参照)  3) /etc/apsfilter/* (/etc/magicfilter/*) プリンタが直接印刷できるデータ形式は主に PostScript かプレーンテキスト(ASCII) である。   プリンタが理解できる形式は限られている為、PostScript などのプリンタが理解できる形に    データを変換する必要がある。この要件を満たすのがフィルターである。    主に使用されるフィルタは APSfilter と magicfilter。  5) /var/lib/apsfilter/*/  6) /var/spool/lpd/*/    スプールエリア。キューはこのエリアに保管され処理されていく。  7) /etc/hosts.lpd   印刷を許可するホスト(IPアドレスも可)を一行ずつ登録する。  8) /etc/hosts.equiv 主に r 系コマンドによるアクセスを許可するホストおよびユーザーを登録するために使用されている。 プリンタへのアクセス制限としても使用できるが同時に r 系のコマンドによるアクセスも可能となるため注意が必要。   プリンタのみのアクセス制限に留めるのであれば一般的には /etc/hosts.lpd にホストを登録する。 --------------------------------------------------------------------------------

■ Topic 108 ドキュメンテーション

= 1.108.1 = ローカル・システム・ドキュメンテーションの使用・管理 (Weight: 4) manの機能および/usr/share/doc/ にある素材の使用・管理ができること。必要に応じてmanページを見つけ manページ内を検索し、コマンドやコマンドに関係するman ページを見つけ、さらにman のソースおよび man システムへのアクセスを設定することができる。/usr/share/doc/ にあるシステム・ドキュメントを 使用してどのドキュメントを/usr/share/doc/ に保管するか決定することができる。 key file & utilities  1) man オンラインマニュアルページを整形し表示する。 セクション番号を引数に指定した場合は一致する内容を表示する。    man ページの表示には less を使用するように設定されている。 例:man 2 open (man "セクション番号" "検索キー") 各セクション番号は以下を表す。    1. ユーザーコマンド    2. システムコール (カーネルが提供する関数)    3. ライブラリ (システムライブラリに含まれる関数)    4. デバイスファイル (通常 /dev に置かれているもの)    5. ファイルフォーマット。    6. ゲーム    7. マクロのパッケージとその約束事。例えば man(7), groff(7) など    8. システム管理用のコマンド    9. Linux 独自のカーネル用ドキュメント。 マニュアルには項目毎に説明が分かれている。   名前 (NAME), 書式 (SYNOPSIS), 説明 (DESCRIPTION), オプション (OPTION), ファイル (FILES) 関連項目 (SEE ALSO), バグ (BUGS), 著者 (AUTHOR) オプション:    -a 全てのマニュアルを参照する。 -k key が含まれるマニュアルをリストする。(apropos と同じ) -f key と完全一致するマニュアルをリストする。(whatis と同じ)    -w マニュアルの置かれているディレクトリを表示する。    ※ -k や -f は whatis データベースを参照している。 whatis データベースが無いと検索は出来ない。 whatis データベースは makewhatis コマンドで生成することが出来る。        2) manpath   manpath - ユーザー個々のマニュアルページの検索パスを決める。    何も指定せずに実施した場合は現在の MANPATH を表示する。  3) apropos   whatis データベースより指定したキーワードを含むマニュアルをリストアップする。  4) whatis   whatis データベースから完全一致するマニュアルをリストアップする。 whatis データベースは /usr/sbin/makewhatis コマンドを使用することで作成される。  5) info info 形式のドキュメントを参照するために使用する。    引数を指定しない場合は /usr/share/info/dir を表示する。 6) which   コマンドが置かれている PATH を表示する。    ただし、環境変数 MANPATH に従うため一般ユーザーでは /sbin/ifconfig などの root が使用するコマンドの PATH は調べられない。 7) whereis コマンドのバイナリ・ソース・man ページの PATH を表示する。 -b バイナリソースのパス。    -m man ページのパス。 -s  ソースファイルのパス。  8) MANPATH 環境変数。MANPATH の値(パス)を元にマニュアルの場所を検索する。 9) /etc/man.config (man.conf)    man コマンドのための設定ファイル。 man コマンドはこのファイルを読み込み検索するパス、マニュアルのフォーマット(書式)    マニュアルファイルの拡張子ごとの解凍方法などを確認する。 = 1.108.2 = インターネット上のLinux関連文書の検索 (Weight: 3) Linux関連の文書の検索と活用。LDP(Linuxドキュメント・プロジェクト)、ベンダー、サードパーティー ニュースグループのアーカイブやメーリングリストのような情報ソースのLinux文書を活用することができる。 key file & utilities  1) comp.os.linux  2) www.kernel.org  3) http://www.tldp.org/ (The Linux Documentation Project) = 1.108.5 = システム関連の問題のユーザへの告知 (Weight: 1) システムに関する現行の問題についてユーザへの告知をおこなうことができる。 ログオン・メッセージなどによる自動的連絡。 key file & utilities  1) /etc/issue ログイン前に表示されるメッセージとシステム情報のファイル  2) /etc/issue.net ログイン前に表示されるメッセージとシステム情報のファイルだが、こちらはリモート接続(telnet) によるアクセスをした場合に表示される。  3) /etc/motd   システムにログイン後に表示されるメッセージ。message of the day の略称。 --------------------------------------------------------------------------------

■ Topic 109 シェル、スクリプト、プログラム、コンパイル

= 1.109.1= シェル環境のカスタマイズ・使用 (Weight: 5) ユーザのニーズに合わせたシェル環境のカスタマイズができる。 ログインまたは新しいシェルを発生させた時などに環境変数(例;PATH)の設定をおこなう。 コマンドの頻出使用度に応じてbash機能を記述することができる。 key file & utilities  1) /etc/profile、~/.bash_profile、~/.bash_login、~/.profile、~/.bashrc、/etc/bashrc システムにログインした際に読み込まれる設定ファイル。システムを利用するユーザー毎の設定を行う。    1. 始めに /etc/profile が読み込まれる。    2. 次に ~/.bash_profile を読み込む。~/.bash_profile が無ければ ~/.bash_login、これも無ければ ~/.profile が読み込まれる。 3. 上記のファイルのいづれかが読み込まれた後に ~/.bashrc が読み込まれる。 ~/.bashrc は中身を見てみれば分かるが /etc/bashrc を呼び出しており、最終的には /etc/bashrc が読み込まれる。     流れとしては以下のように呼ばれる事となる。         ~/.bash_profile この3つのファイル内、どれか一つを読み込む。     /etc/profile を読み込み → ~/.bash_login 読み込むファイルは上から順に見て最初に見つかったものだけ。 ~/.profile                 ↓ いづれか一つが読み込まれた後に ~/.bashrc が読み込まれる。~/.bashrc の内部では /etc/bashrc が呼ばれる。 /etc/bashrc を実行し処理終了となる。 尚、~/.bashrc はシェルを切り替えただけの時にも読み込まれる。 /bin/bash bash の実行ファイル。 /etc/profile システム全体用の初期化ファイル。ログインシェルが実行します。 ~/.bash_profile 個人用の初期化ファイル。ログインシェルが実行します。 ~/.bashrc 対話シェルごとに実行される、個人用の起動ファイル。 ~/.bash_logout 個人用のログインシェル後処理ファイル。ログインシェルの終了時に実行されます。 ~/.inputrc 個人用の readline 初期化ファイル。  2) ~/.bash_logout ログアウトする際に実行される。    3) function(Bash built-in command) シェル関数を定義する。  4) export    指定した変数を環境変数として定義する。  5) env    環境変数を一覧表示する。環境を変更してプログラムを実行する また、環境変数に値を定義することも出来る。  6) set (Bash built-in command)    シェル変数の定義、表示を行う。  7) unset (Bash built-in command)    指定したシェル変数または環境変数を削除する。 = 1.109.2 = 簡単なスクリプトのカスタマイズおよび記述 (Weight: 3) 現存するスクリプトのカスタマイズ、簡単なbash やsh のスクリプトを新しく記述することができる。 標準的なshのシンタクス(loops, tests)の使用、代用コマンドの使用、コマンド再帰変数のテスト ファイル・ステイタスのテストおよびスーパーユーザへの条件付メール送付などができる。 スクリプトの最初の(#!)ラインでインタプリタが正しくおこなわれるようにする。 スクリプトのロケーション、所有者、実行およびsuid権の管理もおこなう。 key file & utilities  1) while "判定"    判定が真の間のみループ処理を行う。  2) for "変数1" in "変数2"    変数1が変数2になるまでループ処理を行う。処理部は do 〜 done で囲む。    例:カレントディレクトリのファイルを表示するシェル。 ----- for.sh ----- #!/bin/sh    VAL2=`ls` for VAL1 in $VAL2    do      echo $VAL1    done ------------------     3) test ファイルのチェックを行う。 -d file file が存在し、ディレクトリであれば真。 -f file file が存在し、通常ファイル (regular file) であれば真。 -h file -L file file が存在し、シンボリックリンクであれば真。 -p file file が存在し、名前付きパイプ (named pipe) であれば真。 -r file file が存在し、読み取り可能であれば真。 -w file file が存在し、書き込み可能であれば真。 -x file file が存在し、実行可能であれば真。 -e file file が存在すれば真。 -s file file が存在し、サイズが 0 より大きければ真。  4) chmod   ファイルやディレクトリのアクセス権限を設定する。 u はファイルの持ち主。 g はファイルを保持するグループ。    o はその他    a は ugo の全てを表す。    + は権限の付加。   - は権限の削除。 = はその権限だけにする。    例えば rwx------ のファイルを u=x にした場合は --x------ となる。 オプション -R そのディレクトリ以下全てに対して設定する。 5) 特殊な変数    $0 ⇒ シェルまたはシェルスクリプトの名前 $1 ⇒ 1番目の引数(以後、9番目の引数まで同様) $# ⇒ 引数の数(0から数える) $@ ⇒ すべての引数 $? ⇒ 直前に行ったコマンドの結果を判定する(真:0 偽:1) $$ ⇒ 実行しているシェルの PID $(10) ⇒ 10番目の引数(2桁の場合は{}で括る) --------------------------------------------------------------------------------

■ Topic 111 管理業務

= 1.111.1 = ユーザおよびグループアカウント、および関連するシステムファイルの管理 (Weight: 4) ユーザアカウントの追加、削除、一時停止、変更がおこなえること。グループの追加・削除をおこない passwd/groupのデータベースにあるユーザおよびグループの情報を変更することができる。 特定の目的に応じた限定的なアカウントを作成することができる。 key file & utilities  1) chage    ユーザパスワードの有効期限情報を変更する。 パスワードの最終更新日から次に変更すべき期日までの日数を変更したりできる。    尚、shadow ファイルが無い環境、つまり passwd ファイルだけの場合は使用できない。    -l ユーザーのパスワードに関する情報を確認できる。 -m パスワード変更が行えるようになるまでの日数を指定する。    -M パスワードが切れるまでの期限を設定する。    -E ユーザーがアカウントにアクセス出来なくなる日付を設定する。(YYYY-MM-DD)    -I パスワードの期限が切れてからアカウントがロックされるまでの日数を設定する。    -W パスワード変更の警告をパスワードが切れる何日前から通知するかを設定する。  2) gpasswd グループに管理者を置きメンバー及びパスワードを設定することが出来る。 グループにユーザーが参加するためにはパスワードが必要となる。  3) groupadd    新しいグループを追加する。    -g グループID を指定する。 -o  4) groupdel グループを削除する。 存在するユーザの主グループを削除してはならない。グループを削除する前にそのユーザを削除しなければならない。  5) groupmod   既存のグループに変更を加える。    -g グループID を変更する。 -n 新しいグループ名に変更する。  6) grpconv   グループパスワードをシャドウ化する。    /etc/sgroup を生成する。通常のパスワードファイルと同じく /etc/group のパスワード欄は    x となる。  7) grpunconv    シャドウ化されたグループパスワードを戻す。  8) passwd パスワード、パスワードの有効期限、ログインシェル、ユーザーのフルネームなどを変更できる。 -l ユーザーのアカウントをロックする。    -u ロックされたアカウントを解除する。 -x パスワードが有効な最長日数を設定する。 -n パスワードが変更可能となるまでの日数を指定する。 -w パスワードの使用期限が来る前に何日間警告を与えるかを設定する。    -i パスワードの期限が切れてから何日間経過したら、そのアカウントを使用不能の状態にするかを設定する。    -e アカウントのパスワードを直ちに無効にしたい場合に使用する。次回ログイン時に新しいパスワードを問われる。    -d パスワードを空にする。  9) pwconv   /etc/shadow ファイルを作成する。 10) pwunconv シャドウパスワードを解除し通常のパスワードに変更する。 11) useradd 新規ユーザーを作成する。 -d ホームディレクトリを指定。    -s ログインシェルを指定。    -c コメントを入力 -g 所属するグループを指定。グループ名、もしくはグループID。 -u UID を指定。 -e ユーザーアカウントが無効になる日付。 -f パスワードの使用期限が切れてからアカウントが使用不能となるまでの日数。 -m ホームディレクトリが存在しない場合はホームディレクトリを作成する。 12) usermod ユーザーアカウントの設定を変更する。 -G プライマリ以外に所属するグループ名、もしくはグループID を指定。    -L ユーザのパスワードをロックする。 -U ユーザのパスワードをロックを解除する。    その他のオプションは useradd と同じ。 13) userdel ユーザーアカウントを削除する。 -r ユーザーのホームディレクトリも削除する。また、ユーザーのメールスプールも削除する。     14) /etc/passwd (-rw-r--r--)    ユーザアカウントの様々な情報が記録されている。以下、記載されている内容。 ユーザーアカウント名    パスワード(暗号化されている場合は x ) ユーザーID グループID ユーザーについてのコメント ホームディレクトリ ログインシェル 15) /etc/shadow (-r--------)   ユーザーアカウントの暗号化されたパスワードやパスワードの有効期限が記録されている。 ユーザーアカウント名 暗号化されたパスワード 1970 年 1 月 1 日から最後にパスワードが変更された日迄の日数 パスワードが変更可となるまでの日数 パスワードを変更しなくてはならなくなる日までの日数 パスワード有効期限が来ることをユーザに警告する日数 パスワード有効期限が過ぎてからアカウントが使用不能になる迄の日数 1970 年 1 月 1 日からアカウントが使用不能になる日までの日数 16) /etc/group (-rw-r--r--) グループが記録されているファイル。      グループの名前 パスワード(このフィールドが空ならパスワードは必要ない。) グループID グループに所属しているユーザー名。 17) /etc/gshadow    暗号化されたグループファイル。 18) /etc/login.defs    シャドウパスワードに関する設定など様々な設定が定義されている。 = 1.111.2 = ユーザ環境およびシステム環境変数の調整 (Weight: 3) グローバルおよびユーザのプロファイルの修正。環境変数の設定、新しいユーザアカウント用 skelディレクトリの管理、適切なディレクトリによるコマンド検索パスの設定。 key file & utilities  1) env ( = 1.109.1= 参照)  2) export ( = 1.109.1= 参照)  3) set ( = 1.109.1= 参照)  4) unset ( = 1.109.1= 参照)  5) /etc/profile ( = 1.109.1= 参照)  6) /etc/skel 新規でユーザーを作成した際に /etc/skel配下にあるファイル群がホームディレクトリに配置される。 = 1.111.3 = 管理およびセキュリティー面の必要に応じたシステム・ログファイルの設定・活用 (Weight: 3) システム・ログの設定。ログされたインフォメーションの種類とレベルの管理、特定のログファイルを マニュアルによりスキャニング、ログファイルのモニタ、自動的なローテーションおよびログの保管の設定 ログの問題追跡が含まれる。 key file & utilities  1) logrotate ログファイルを整理するために使用されるユーティリティ。    主な内容として肥大化を防ぐためにログファイルの圧縮。    古いファイルと分別を付けるためにログファイルをリネーム(別名)し保管する。    logrotate は cron により定期的に実行される。  2) /etc/logrotate.conf    上記 logrotate に関する設定。圧縮方法、リネームをするタイミングなどが記載される。  3) tail ファイルの末尾を表示する。    -f リアルタイムでファイルの後尾を表示し続ける。  4) /etc/syslog.conf    syslogd は様々なレベルのシステムメッセージをログファイルへ記録するが、syslogd がどのような    ルールのもとにログファイルへ記録するかを定義する。    ファシリティ(出力元).プライオリティ(メッセージのレベル) 出力先ファイル の形式で定義する。    ・ファシリティ auth、authpriv 認証システム(login や su)による出力 cron cron による出力 daemon 各種デーモンによる出力 kern カーネルによる出力    lpr 印刷システムによる出力 mail メールシステムによる出力 syslog syslog機能による出力 local0〜7 独自の設定   ・プライオリティ     emerg 危機的な状態 alert      早急に対処が必要 crit      危険な状態 err       一般的なエラー warning     システムからの警告 notice     システムからの重要な通知 info      システムからの情報 debug      デバッグ情報 none      ファシリティは無効 ・出力先ファイル /var/log/messages など出力先のファイルを指定する。 *(アスタリスク)が定義されている場合は、システムにログインしている全ユーザーの端末へ     システムメッセージを出力する。     @ホスト名とした場合は、指定したホストへシステムメッセージを出力する。  5) /var/log/*    各種ログファイルが保管される。尚、utmp は /var/run/utmp であるが wtmp は /var/log/wtmp である。 = 1.111.4 = ジョブのスケジューリングによるシステム管理業務の自動化 (Weight: 4) cron または anacron を使い、規則的なインターバルでのジョブの実行および特定の時間でのジョブの実行。 cron および at ジョブの管理と cron および at サービスへのユーザのアクセス設定。 key file & utilities  1) at    指定した時刻に一度だけ処理を行う。 -l 予約されているジョブを表示。    -d 予約中のジョブ番号を指定し、ジョブを削除する。 -f 実行する内容が記載されたファイルの読み込み。       時刻の指定には様々な方法がある。      正午 noon 真夜中 midnight 今日 today 明日 tomorrow 5日後 now + 5 days 一週間後 1 weeks  2) atq    予約されているジョブを表示。(at -l)  3) atrm 予約中のジョブ番号を指定し、ジョブを削除する。(at -d) 4) cron 定期的に crontab に登録されたジョブを実行する。    cron はデーモンである crond とスケジューリングを管理する crontab から構成される。    crond は一分毎に起動され crontab に実行すべき処理があれば実行する。  5) crontab    ユーザーの crontab ファイルを表示、編集、削除する。 -l crontab ファイルの内容を表示。    -e crontab ファイルの編集。 -r crontab ファイルを削除する。 -u ユーザーを指定して crontab ファイルを編集する。 cron に2分後に処理を実行させたい場合は、crontab に */2 と記述する。 ----- crontab ------ */2 * * * * root /sbin/***** 左から分、時、日、月、曜日(0-6) 実行するユーザー 処理する内容の順で記載する。  6) /etc/anacrontab   cron は指定した時刻にシステムが停止していると動作しない。    これを防ぐ為に anacron を使用する。 anacron はシステム停止中に経過してしまった    ジョブがあっても次回起動時で処理を実行してくれる。 anacron の設定ファイルは /etc/anacrontab  7) /etc/at.deny at コマンドの使用を許可しないユーザーを記述する。  8) /etc/at.allow    at コマンドの使用を許可するユーザーを記述する。 最初に /etc/at.allow が読み込まれ次に /etc/at.deny が読み込まれる。    いづれのファイルにも記載が無い場合は root ユーザーのみが cron を使用できる。  9) /etc/crontab   cron が参照するスケジュールファイル。 10) /etc/cron.allow cron の使用を許可するホスト、ユーザー名を記載する。 11) /etc/cron.deny cron の使用を許可しないホスト、ユーザー名を記載する。 最初に /etc/cron.allow が読み込まれ次に /etc/cron.deny が読み込まれる。    いづれのファイルにも記載が無い場合は全てのユーザーが cron を使用できる。 cron と at ではこの点について違いがあるので注意。 12) /var/spool/cron/*   各ユーザーの cron の設定が保存されている。 = 1.111.5 = 効果的データ管理 (Weight: 3) バックアップ体勢の計画および各種メディアへの自動的なファイルシステムのバックアップ。 raw deviceのファイルへのダンプ、またはその逆、マニュアルによる部分的なバックアップ バックアップファイル統合の検証、部分的または全体的なバックアップのリストア。 key file & utilities  1) cpio   アーカイブファイルへのファイルのコピーや、アーカイブファイルからファイルへのコピーをおこなう。  2) dd ファイルを変換してコピーする  3) dump ファイルシステムのバックアップをする。  4) restore dump でバックアップしたデータを展開する。  5) tar アーカイブを作成する。 = 1.111.6 = システム・タイム (Weight: 4) システムの時間を管理しNTPでの時計との同期をおこなう。 システム内の日付・時間の設定、BIOSクロックをUTC内の時間に設定、システムの正しい タイムゾーンを設定、システム内でクロック・ドリフトがNTPクロックに合うように調整。 key file & utilities  1) date システムクロックの表示、設定をする。  2) hwclock    ハードクロックの表示、設定をする。 -r ハードクロックを表示する。 -w ハードクロックにシステムクロックを合わせる。 -s システムクロックにハードクロックを合わせる。  3) ntpd    時刻を同期するためのデーモン。  4) ntpdate    指定した時刻サーバと時刻を同期する。 # ntpdate "時刻サーバー"  5) /usr/share/zoneinfo 各地のシステム時刻が定義されている。  6) /etc/timezone  7) /etc/localtime  8) /etc/ntp.conf   ntp に関連する設定をする。 ntp.drift などログファイルの場所もここで設定する。 ---- 例 ---- server "時刻サーバー" driftfile /etc/ntp.drift logfile /var/log/ntp.log    ------------  9) /etc/ntp.drift 時刻の補正情報が保存される。 --------------------------------------------------------------------------------

■ Topic 112 ネットワークの基礎

= 1.112.1 = TCP/IPの基礎 (Weight: 4) ネットワークの基礎知識。 IPアドレス、ネットワークマスクおよびその意味(例:ドットで囲まれていたり略語で 記載されているサブネットマスクによるホスト用のネットワークやブロードキャスト・アドレスの決定 IPアドレスおよびビット数がある場合のネットワーク・アドレス、ブロードキャスト・アドレス、ネットマスクの決定。 ネットワーク・クラスおよびクラス・サブネット(CIDR)、プライベートなネットワーク用のリザーブ・アドレスの理解。 デフォルト・ルートのファンクションおよびアプリケーションの理解。 基本的インターネット・プロトコル(IP、ICMP、TCP、UDP)および、より一般的なTCPおよび UDPポート(20、21、23、25、53、80、110、119、139、 143、161)の理解。 key file & utilities  1) /etc/services    "サービス名" "port番号/プロトコル" "エイリアス" "コメント" の順で一列毎に記述されている。 xinetd で使用するサービス名はここを参照している。    尚、エイリアスとコメントは無くてもいい。    ----- 例 ----- ftp 21/udp fsp fspd ssh 22/tcp # SSH Remote Login Protocol ssh 22/udp # SSH Remote Login Protocol telnet 23/tcp telnet 23/udp --------------  2) ftp [ホスト名]   ファイル転送ユーティリティ。 /etc/ftpusers - FTP デーモン経由でのログインを許さないユーザーのリスト。 ftpconversions - ftpd 変換データベース  3) telnet [ホスト名] [ポート番号]   リモート接続ユーティリティ。   リモート操作を行う 23番以外のポートも使用でき、あらゆるポートへ接続できる。    サービス及びポート番号については /etc/services 参照。  4) host DNSサーバーを使用しホストやドメインに関する情報を表示する。    デフォルトではホスト名と IP アドレスの変換のみを行う。    -l DNSサーバーに登録されている全ホストを一覧表示する。   -v 詳細な情報を表示する。  5) ping   ICMP パケットを送りネットワークの状況を確認する。 -c 回数 -i 間隔 -s 送信するパケットサイズを指定する。デフォルトは 56byte だが、ICMP のヘッダ 8byte を     足した 64byte が送信されることとなる。    -v 詳細を表示する。    -t ttl(パケットの生存期間)を指定する。  6) dig ホスト/ドメイン [検索タイプ]   指定したホストのドメイン情報を表示する。 検索タイプ a IPアドレス    any 全ての情報 mx メールサーバーの情報    ns ネームサーバーの情報  7) traceroute ネットワークの経路を確認する。 -d デバッグモードで動作する。 -F パケット分割を禁止する。 -l UDP パケットの代わりに ICMP を使用する。 -n DNS による名前解決を行わない。 -t TOS を指定された値に設定する。 -w タイムアウトを指定する。  8) whois "ターゲット" [@whoisサーバー名]   ターゲットの情報を whois データベースに問い合わせる。 = 1.112.3 = TCP/IPの設定およびトラブルシューティング (Weight: 7) 各種ネットワークインターフェースの設定およびオペレーション・ステータスの確認、変更、検証をおこなう。 インターフェースおよびルーティング・テーブルの自動またはマニュアルによる設定。 ネットワークインターフェースの追加、スタート、停止、リスタート、削除、再設定。 ルーティング・テーブルの変更、確認、再設定および不適切に設定されたデフォルトルートのマニュアルによる修正。 DHCPクライアントおよびTCP/IPホストとしてLinuxを設定し、ネットワークの設定に合わせてデバッグをおこなう。 サブネットマスク   IPアドレスを細分化しネットワークをグループ分けするために使用される。   255.255.255.0 など。 ネットワークアドレス   IPアドレスにサブネットマスクをANDした値。       IP  192.168.1.10     MASK 255.255.255.0          ↓ IP 11000000.10101000.00000001.00001010 MASK 11111111.11111111.11111111.00000000 ---------------------------------------- 11000000.10101000.00000001.00000000 = 192.168.1 がネットワークアドレス。 ブロードキャストアドレス   4オクテッド目の bit が全て1。例:192.168.1.255(11111111=255) CIDR   サブネットマスクをbitの数で表したもの。 例えば 255.255.255.0 を2進数で表した場合、11111111.11111111.11111111.0 の 24bit となる。 この bit の数をわかりやすく表したもの ⇒ 192.168.1.10/24(24がCIDR)   IPアドレスのクラス             クラスA : 0.0.0.0 - 126.255.255.255 クラスA は1オクテッドの上位1bit目が 0(ゼロ)。   クラスB : 128.0.0.0 - 191.255.255.255  クラスB は1オクテッドの上位1bit目が 10(128)   クラスC : 192.0.0.0 - 223.255.255.255 クラスB は1オクテッドの上位1bit目が 110(192)   プライベートアドレスのクラス サブネットマスク(ゼロはホストアドレスとなる) クラスA : 10. 0.0.0 - 10.255.255.255 | 255. 0. 0.0 クラスB : 172. 16.0.0 - 172.31.255.255 | 255.255. 0.0 クラスC : 192.168.0.0 - 192.168.255.255 | 255.255.255.0 ポート番号 /etc/services 参照 20 FTP FTP のデータ転送 21 FTP FTP の制御情報   23 telnet リモート接続   25 SMTP 電子メール (送信) 53 DNS DNS 80 HTTP WEB 110 POP 電子メール(受信)   119 NNTP ネットニュース 139 NetBIOS Microsftネットワーク 143 IMAP 電子メール(IMAP2) 161 SNMP ネットワークの監視 key file & utilities  1) /etc/HOSTNAME or /etc/hostname   ホスト名が記述されている。  2) /etc/hosts    ホスト名と IP アドレスの対応を記述している。  3) /etc/sysconfig/network ネットワークの使用・不使用・ホスト名・デフォルトゲートウェイなどネットワークに関する設定をする。  4) /etc/sysconfig/network-scripts    ネットワークデバイス(インターフェイス)の設定ファイルがおかれる。***eth0 や wlan など。  5) /etc/host.conf    名前解決する際の問い合わせ順番を記述する。 このファイルは libc5 で使われているものだが、現在は nsswitch.conf が優先して使われる。 ---- 例 --------- order hosts,bind multi on ----------------- order はリゾルバが処理をする順序を規定する。 クライアント側で名前解決を処理するライブラリをリゾルバという。    multi on が指定されていると、ホストに複数の IP アドレスが割り当てられている場合、全てに対して応答する。    この例では最初に /etc/hosts を参照し、名前解決できなければ BIND を参照する。    6) /etc/resolv.conf    DNSサーバーやドメイン名の設定を記述する。 ---- 例 ----- domain test.com search test.com nameserver 192.168.10.10 ------------- domain はこのホストが属するドメイン名を search はドメイン名が省略された時に保補完するドメイン名を。   nameserver は DNSサーバーの IP アドレスを記述する。  7) /etc/nsswitch.conf   /etc/host.conf と同じ役割をするが、こちらは glibc2 で利用される。 nsswitch.conf では NIS+ も指定できる。  8) ifconfig ネットワークインターフェイスの情報の表示・設定を行う。     9) route   ルーティングテーブルの表示・設定を行う。    add [パラメータ]    del [パラメータ] gw 経路が使用するゲートウェイのIPアドレスを指定する。 -net ネットワークの経路情報として登録する。 -host ホストのための経路情報として登録する -F カーネルのルーティングテーブルを表示する。 -C カーネルのルーティングキャッシュを表示する。    -v 詳細表示。    -e netstat と同様のフォーマットで表示する。    -n 出力を IP アドレスのみで表示する。(名前解決を行わない。)    デフォルトゲートウェイの設定。 # route add default gw 192.168.0.50 経路情報を削除する。 # route del -net 192.168.0.50 netmask 255.255.255.0 dev eth1    192.168.**** 宛てのパケットを eth1 へ送るように設定する。 # route add -net 192.168.**** netmask 255.255.255.0 dev eth1 ※ Linux をルーターとして利用する場合は異なるネットワーク間でのパケットの転送を許可する必要がある。     それには /proc/sys/net/ipv4/ip_forward ファイルの値が1になっている必要がある。  10) DHCP (dhcpcd(DHCP クライアントデーモン)、dhcpclient(DHCPクライアント)、pump) DHCP はクライアントとして使用する端末がネットワークに接続された際に自動的に IP アドレスなどの情報を割り当てる。 クライアントが起動・接続した時点であらかじめ確保してあるIPアドレスを一定期間の間だけ割り当てる。    この一定期間のことをリース期間という。    DHCPが割り当てる情報は IPアドレス、サブネットマスク、デフォルトゲートウェイ、ブロードキャストアドレス    DNSサーバーのIPアドレス、ホスト名の計6つ。 DHCP クライントとして使うには /etc/sysconfig/network-scripts/ifcfg-eth1 などの設定ファイルに以下のように記述する。 BOOTPROTO=dhcp      Debian系であれば /etc/network/interfaces ファイルに以下のように記述する。 iface eth0 inet dhcp    DHCP を利用するにはサーバ側とクライアント側の両方でデーモンを起動させる必要がある。 DHCP サーバーでは dhcpd、DHCP クライアントでは dhcpcddhclient、pump のいづれかを稼動させる必要がある。  11) hostname (domainname, dnsdomainname)    ホスト名の表示・設定を行う。  12) netstat    ネットワークに関する状態を表示する。 -c 1秒毎に状態を表示する。 -i インターフェイルの状態を表示する。 -n アドレスやポート番号などを数値で表示する。 -p PIDとプロセスを表示する。 -r カーネルのルーティングテーブルを表示する。    -a 接続待ち状態にあるソケットも、接続待ち状態にないソケットも全て表示する。 -e ユーザーIDの情報を追加したネットワークの状態を表示する。    -M IPマスカレードされたセッションを表示する。  13) tcpdump [オプション] [条件式] -i 監視するインターフェイスを指定する。 -s パケットから取り出すバイト数をしてする。 -X 16進数とASCII文字で表示する。 -n アドレスやポート番号を名前変換せず数値で表示する。    -N ホストのドメイン名を表示しない。 -c 指定した個数のパケットを受信して終了する。 -f 外部ホストのIPアドレスをシンボルではなく数値で表示する。 -F フィルタの条件として指定したファイルの内容を使用する。    -l 標準出力をバッファリング 条件式 port <ポート番号> ポート番号を指定する。 proto プロトコルを指定 14) /etc/networks ネットワーク名とネットワークアドレスとの対応が記述されている。 /etc/hosts のネットワーク版と考えればよい。    デフォルトでは何も記述されていない。 = 1.112.4 = PPPクライアントとしてLinuxを設定 (Weight: 3) PPPプロトコルの基礎の理解とPPPを外部と接続するように設定・使用する。 チャット・シークエンスの接続(ログインの例の例がある場合)を定義し PPP接続の際に コマンドが自動的に実行されるよう設定する。 モデム、ISDN、ADSLによるPPP接続の初期化および終了、接続が切断された際のPPPの自動的再接続を設定。 key file & utilities  概要:  PPP はシリアルインターフェイスを利用してネットワークへ接続する。  主にアナログ回線(電話回線)を使用してネットへ接続する。(モデムなどを経由して接続)  シルアルポートは /dev/ttyS0 などで表される。  認証には主に PAP(クライアントからサーバへの平文認証)、CHAP(暗証化認証) が用いられる。  PAP はユーザー名・パスワードを暗号化せずにそのままの形式(読み取り可能)で送信するが、CHAP では  チャレンジ/レスポンス方式で送信する。  認証に必要なユーザー名やパスワードは /etc/ppp/chap-secrets に格納されており、root ユーザーだけが  読み書き(600)できる。(ファイル名はアンダーバーでは無く、ハイフンであることに注意)    # ls -l chap-secrets  -rw------- 1 root root 232 10月 12 2005 chap-secrets  その他参考情報:PPP-HOWTO  1) chat スクリプト PPP での接続はモデムからPPPサーバーへ電話をかけ、相手からの応答を確認して接続速度などを設定する。    次に PAP or CHAP によりユーザー認証を行う。    接続が確立されると、PPPサーバーはクライアントにIPアドレスを割り当てる。    上記手順を行うために使用されるのが chat スクリプトである。   chat スクリプトはサーバー側 pppd とクライアント側 pppd の接続を確立する。    つまり、PPP 接続にはサーバー側とクライアント側の両方に pppd がいる必要がある。 chat スクリプトの実行結果は /var/log/messages に記録される。 ----- 例 ----------------- ABORT "NO CARRIER" ABORT "NO DIALTONE" ABORT "ERROR" ABORT "NO ANSWER" ABORT "BUSY" ABORT "Username/Password Incorrect" "" "at" OK "at&d0&c1" OK "atdt2468135" "name:" "^Umyuserid" "word:" "\qmypassword" "ispts" "\q^Uppp" "~-^Uppp-~" -------------------------- 詳しくは man 8 chat。  2) /etc/ppp/options pppd のシステムデフォルトオプションを記述します。ユーザデフォルトオプションおよびコマンドラインオプションが 読まれる前に読み込まれます。 3) /etc/ppp/options.ttyname 各シリアルポートのシステムデフォルトオプションを指定する。    pppd はコマンドラインからのオプションを読み込む前に /etc/ppp/options, ~/.ppprc, /etc/ppp/options.ttyname    の順にオプションを読み込む。 このファイル名の ttyname 部分の構成にあたり、まず /dev が (存在すれば) ポート名から除かれ残った    スラッシュがドットに置換されます。 4) /etc/ppp/ppp.deny システムのパスワードによる PAP 認証を使わせないユーザを記述する。 5) /etc/ppp/ppp.shells システムのパスワードによる PAP 認証ログインのために適切なシェルを記述する。 6) ~/.ppprc ユーザ毎のデフォルトオプションを記述する。 /etc/ppp/options.ttyname が読まれる前に読み込まれる。  7) /etc/ppp/peers pppd が非 root ユーザによって起動されたとしても特権オプションを含んでかまわないオプションファイルを 含むディレクトリ。    システム管理者はオプションファイルをこのディレクトリ中に作成することにより非特権ユーザが相手の認証を 要さずにダイヤルアウト可能とします。しかし、信頼関係のある相手のみ可能。  8) /etc/wvdial.conf  9) /etc/ppp/ip-up IP パケットの送受信が行えるようになった時 (IPCP が完了した時) に実行されるプログラムまたはスクリプト。 以下のものをパラメータとして実行される。 interface-name tty-device speed local-IP-address remote-IP-address ipparam 10) /etc/ppp/ip-down IP パケットの送受信ができなくなった場合に実行されるプログラムまたはスクリプト。 このスクリプトは /etc/ppp/ip-up スクリプトで行った変更を元にもどすために用いられる。    これは ip-up と同じパラメータを与えて、同じ方法で実行される。 11) /etc/ppp/pap-secrets PAP認証で使用するユーザ名、パスワード、IP アドレスを格納する。    このファイルは root が所有し、他のユーザは読み書きできてはいけない。そうでない場合 pppd は警告ログを行う。 12) /etc/ppp/chap-secrets CHAP 認証で使用する名前、秘密情報、IP アドレスを格納する。このファイルは root が所有し、他のユーザは    読み書きできてはいけない。そうでない場合 pppd は警告ログを行う。 13) pppd PPP (Point to Point Protocol) を処理するデーモン --------------------------------------------------------------------------------

■ Topic 113 ネットワーク・サービス

= 1.113.1 = inetd、xinetdおよび関連したサービスの設定・管理 (Weight: 4) inetd を通じて使用できるサービスの設定 tcpwrappers を使いホストごとのサービスの許可・拒否 インターネットサービスのマニュアルによるスタート、停止、再スタート、telnet および ftp などの 基本的ネットワークサービスの設定、telnet および ftpのデフォルトの代わりに他のユーザとしてサービスを実行。 key file & utilities  1) /etc/inetd.conf inetd(スーパーサーバー)の設定を行う。    1行につき一つのサービスをプロトコル毎に記述する。 ----- 例 ------------------ ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a --------------------------- 左から各項目について。 service_name /etc/services で定義されているサービス名。    socket_type TCP は stream、UDP は dgram。 protocol tcp か udp flag サービスに要求があった際の処理方法 wait 1つの処理が終わるまで待機。 nowait 待機せずに次の要求を処理。 user サービスを実行させるユーザー名 program サーバープログラム(デーモン)のフルパス。tcpd は TCP Wrappers を示す。    args サーバープログラム(デーモン)に渡す引数。  2) /etc/hosts.allow    指定したサービスへの接続を許可するホストを記述する。   左からサービス名:許可するホストまたはIPアドレス。    以下の例では 192.168.1.*** のIPを持つホストは全てのサービスへアクセス可能であること示し    lpic102.jp のドメインに属するシステムは telnet 接続のみを許可することを示している。    ---- 例 ------------ ALL:192.168.1. in.telnetd: .lpic102.jp --------------------  3) /etc/hosts.deny    指定したサービスへの接続はさせない。通常は ALL:ALL と記載する。    これは hosts.allow が先に条件として読まれるため、hosts.allow に記載されていないサービスだけ    接続を許可しないことを示している。無論 hosts.allow に何も記載がなければ全てのサービスへの接続は    許可されない。 4) TCP Wrappers システムへサービスへの接続要求があった際に tcpd デーモンにサービス要求が渡される。    この時に tcpd デーモンは /etc/hosts.allow、/etc/hosts.deny ファイルを参照し接続の可否を確認し    その後にサービスを提供する。つまりサービスへの接続可否を判断するデーモンである。  5) tcpdmatch TCP Wrapper の振る舞いを精査する。 6) tcpdchk TCP Wrapper に関する設定ファイルの内容に問題が無いかを確認する。  7) /etc/xinetd.conf スーパーサーバーデーモン xinetd の設定ファイル。 inetd も同じくスーパーサーバーデーモンであるが、xinetd のほうが柔軟な設定が可能である。    xinetd.conf の主な設定内容としては以下。    instances 各サービスの最大デーモン数    log_type ログの出力方法 log_on_success 接続を許可したときにログに記録する内容    log_on_failure 接続を拒否したときにログに記録する内容 cps 1秒間に接続できる最大コネクション数 includedir サービス毎の設定ファイルを収めるディレクトリ。 通常は /etc/xinetd.d である。            xinetd.d 以下には telnet などのサービスの設定ファイルが置かれている。 only_from サービスの利用を許可する IP アドレスを指定する。    no_access    サービスの利用を許可しない IP アドレスを指定する。 ------- 例 -------------------------------- # Some defaults, and include /etc/xinetd.d/ defaults { instances = 60 log_type = SYSLOG authpriv log_on_success = HOST PID log_on_failure = HOST cps = 25 30 } includedir /etc/xinetd.d --------------------------------------------- xinetd.conf には上記以外にも様々な定義が出来る。詳しくは man 参照。  8) /etc/xinetd.log    xinetd が起動したサービスの状態についてのログが出力される。 = 1.113.2 = sendmailの基本設定の操作および実行 (Weight: 4) sendmail設定ファイル(含:必要に応じて、スマート・ホスト・パラメータ)の簡単なパラメータの修正 メール・エイリアスの作成、メール・キューの管理、sendmailの開始・停止、メール・フォワード、および sendmailの基本的トラブルシューティング。メールサーバでのオープンリレーの確認および閉鎖。 sendmail の高度なカスタム設定は含まれない。 key file & utilities  1) /etc/sendmail.cf    sendmail の設定ファイル。各行に構成コマンドが記述されており、/etc/sendmail.cf の設定は    難解であるため、通常は sendmail.cf を自動作成する cf ユーティリティを使用する。 2) /etc/mail/access メールサーバーは自分に届いたメールの宛先が自分宛でなければ適切な宛先へ送信しようとする。    どこからきたメールも送信してしまうサーバーをオープンリレーサーバーという。    メールサーバーは最低限、オープンリレーが行われないようにする必要がある。    その設定を行うのが /etc/mail/access ファイルである。 以下の例では localhost からのメールのみメールリレーを許可している。    通常 RELAY の指定が無いホスト、ドメインからのリレーは受け付けないが、明示的に拒否する場合は REJECT を指定する。 ----- 例 ---------------- # by default we allow relaying from localhost... localhost.localdomain RELAY localhost RELAY 127.0.0.1 RELAY 192.168.1 REJECT ---------------------------  3) /etc/aliases or /etc/mail/aliases メールアドレスのエイリアスを設定できる。    例えば root 宛てに届いたメールは以下のように設定することでユーザー guest と test で受け取れるようになる。    尚、root にはメールが届かなくなる事に注意。 root: guest, test /etc/aliases に設定を施した後、情報を反映させるために newalises コマンドを使う。    newaliases コマンドは sendmail が実際に参照するエイリアスのデータベースファイル /etc/aliases.db に 情報を反映させる。    4) newaliases    /etc/aliases を修正した場合に情報を反映させるために使うユーティリティ。    具体的には /etc/aliases.db の更新を行う。 /etc/aliases.db は sendmail が参照するエイリアスデータベース。  5) ~/.forward メール転送を行うもうひとつの方法。こちらは各ユーザー毎に簡単に設定できる。    使用方法はホームディレクトリに ~/.forward ファイルを作成し、転送先のメールアドレスを記述するだけ。    ユーザーが各自で設定できるため、管理者の手を煩わせない。  6) /etc/mail/*    mail に関する様々な設定ファイルが補完されている。 7) /etc/spool/mail/* 各ユーザーに届いたメールをスプールするためのディレクトリ。 8) /etc/spool/mqueue/*    各ユーザーの送信するメールをスプールするためのディレクトリ。  9) mailq 送信待ちのメールキューを表示する。 = 1.113.3 = Apacheの基本的設定の操作および実行 (Weight: 4) Apache設定ファイルの簡単なパラメータの修正、httpdのスタート、停止、再スタート、ブート字の httpdの自動的再スタートのアレンジ。Apacheの高度カスタム設定は除く。 key file & utilities  1) apachectl [オプション] httpd を起動する為のユーティリティ。 start   httpd を起動する。 stop    httpd を停止する。 restart   httpd をリスタートする。 configtest httpd.conf の内容に問題が無いかテストする。     2) /etc/rc.d/init.d/httpd [オプション] apache のデーモン名は httpd だが、ここでいう httpd はコマンドユーティリティ。 start   httpd を起動する。 stop    httpd を停止する。 restart   httpd をリスタートする。 status httpd の状況表示  3) /etc/httpd/conf/httpd.conf or /usr/local/apache/conf/httpd.conf apache の設定ファイル。以前は httpd.conf、srm.conf、access.conf に分けられていたが    現在は httpd.conf で全てをこなす。    ファイル内の各項目をディレクティブという。 ServerType サーバーの起動方法を指定する。standalone を指定すると httpd が単独で起動し           inetd を選択するとスーパーサーバー経由で起動する。    ServerRoot 設定ファイル(httpd.conf)を格納するディレクトリを指定する。 ServerName Web サーバーの名前 DocumentRoot Web に公開するドキュメントの保管場所。    Port サービスを提供するポート番号   User httpd 子プロセスのユーザー名   Group httpd 子プロセスのグループ名 = 1.113.4 = NFS、smb、nmb デーモンの管理 (Weight: 4) NFSを使いローカル・ファイルシステムのエクスポート用にNFSを設定しリモート・ファイルシステムを マウント、NFSサーバのスタート、停止、再スタート。 Sambaのインストールおよび付属のGUIツールまたは/etc/smb.conf ファイルを直接、編集.設定。 (NTドメイン関連の高度な問題については、含まない。WINクライアントとして、nmbdを正しく設定すると共に ホーム・ディレクトリおよびプリンタの単純な共有) key file & utilities  1) /etc/exports    NFS サーバー側でディレクトリを公開することをエクスポートという。    exports ファイルにはエクスポートするディレクトリの情報を設定する。    ---- 例 ----------- /public share-dir.com(ro) -------------------- 左から NFS するディレクトリ、許可するホスト名 or IP アドレス、アクセス時の権限。    アクセス時の権限は主に以下のものがある。    ro 読み取り専用    rw 読み書き専用    noaccess 指定したディレクトリ以下のアクセスを禁止する。   root_squash クライアント上のrootユーザーをNFSサーバ上のnobodyユーザーとして扱う。    no_root_squash root でのアクセスを許可する。 参考情報  2) /etc/fstab   システム起動時にマウントするファイルシステムの情報を記載する。   NFS も起動時に自動でマウントさせたい場合はこのファイルに記載する。  3) mount 指定したファイルシステムをマウントする。 -a /etc/fstab に記述されているファイルシステム全てをマウントする。  4) umount    マウント済みのファイルシステムをアンマウントする。    -a /etc/mtab に記述されているファイルシステム全てをアンマウントする。  5) smbd Samba のデーモン。ファイルやプリンタの共有とユーザーの認証を行う。 6) nmbd Samba のデーモン。ブラウザ機能と NetBIOS による名前解決を行う。 7) smb.conf Samba の設定ファイル。主な項目は以下。 global セクションは必ず記述しなければならない。    homes、printers セクション以外のセクションは自由にセクション名を設定できる。    [global] セクション(全体的な設定)    workgroup 所属するワークグループ名 server string サーバーの説明 security ユーザー認証の方法。    encrypt passwords  クライアントからのパスワードの暗号化 log file ログファイルの保存先 max log size 最大ログサイズ(キロバイト単位)    printcap name プリンタ設定ファイルの名前    os level ブラウズマスターになる優先度    wins support nmbd を WINS サーバーにするかどうか    wins server WINSサーバーのアドレス [homes] セクション (ユーザーホームディレクトリの設定) comment ネットワークコンピューターでブラウズしたときのコメント    browserble ネットワークコンピューターでブラウズできるかどうか   writable 書き込み許可をするかどうか    read only 読み取り専用にするかどうか    guest ok ゲストアカウントによる利用を許可するかどうか。 [printers]セクション (プリンタの共有設定) path  プリンタのスプールディレクトリのパス    printer プリンタの共有名    print ok(printable) 印刷の可否 8) smbstat クライアントが開いているファイルを表示できる。 9) smbconnect NetBIOS に対するサーバーの接続および切断のメッセージをデバッグします。デバッグ中にのみ有効です。 10) smbstatus 現在のSambaへの接続状況を表示する。 11) testparm smb.conf の設定に間違いが無いか調べる。 = 1.113.5 = 基本的DNSサービスの設定 (Weight: 4) ホストネーム・ルックアップの設定およびローカル・キャッシュのみのネーム・サーバでの トラブルシューティング。 ドメイン・レジストレーションおよびDNSのトランスレーション・プロセスの理解。 Bind4とBind8用設定ファイルの主たる違いの理解。 主に使用される DNS のサーバーは BIND という。 デーモン名は named。 DNSサーバーは自分が担当するゾーンに対して名前解決の要求があった場合、それに回答し 担当ではない範囲の要求についてはほかの DNSサーバーへ代理で問い合わせする。 key file & utilities  1) /etc/hosts ( = 1.112.3 = 参照)  2) /etc/resolv.conf ( = 1.112.3 = 参照)  3) /etc/nsswitch.conf ( = 1.112.3 = 参照)  4) /etc/named.boot (v.4) or /etc/named.conf (v.8)    named.boot は BIND バージョン4、named.conf は BIND バージョン8の設定ファイル。    BIND のバージョン8では named.conf以外にゾーンファイルの設定が必要となる。    ゾーンファイルの格納先は named.conf の options セクションで定義し、ゾーンファイル名は zone セクションで定義する。    また、ゾーンファイルには以下の種類がある。    ルートファイル ルートネームサーバーの一覧。    正引きファイル ホスト名から IPアドレスへの対応を記述。    逆引きファイル IPアドレスからホスト名への対応を記述。  5) named BIND のデーモン。 6) ゾーンファイル    ゾーンファイルは named.conf で指定した数だけ必要となる。    各ゾーンファイルには以下のレコードごとに設定をする。      SOA 管理情報を記述。    NS ゾーンファイルを管理するネームサーバーを記述 MX メールサーバを記述。(正引きファイルのみ) A ホスト名に対応する IP アドレスを記述(正引きファイルのみ) CNAME ホスト名の別名を記述。 PTR IPアドレスに対応するホスト名を記述(逆引きファイルのみ) 7) 正引き・逆引き    ホスト名からIPアドレスを割り出すのが正引き。    IPアドレスからホスト名を割り出すのが逆引き。    8) named-bootconf named の設定ファイルを BIND 4 形式から BIND 8 形式に変換 = 1.113.7 = セキュアーシェルの設定(OpenSSH) (Weight: 4) Opensshの取得および設定。Opensshの、システム・ブート時のsshdの設定および、基本的な インストールおよびトラブルシューティング。 key file & utilities telnet によるリモート接続ではユーザー名、パスワードなどのデータが平文で送信されてしまう。 これをカバーするために SSH が用いられる。 SSH では公開鍵・秘密鍵による認証を用いてデータを暗号化して送信する。セキュリティをより堅牢にするのが目的である。 SSH は現在バージョン1とバージョン2があるが、公開鍵暗号方式の認証アルゴリズムに違いがある。 バージョン1では RSA1 が使用され、バージョン2では DSA 及び RSA が使用される。  1) /etc/nologin    root ユーザー以外のログインをさせない場合に作成する。    システムのメンテナンスを行う場合に使用される。  2) /etc/ssh/sshd_config    SSHサーバーの機能は sshd デーモンが提供する。この sshd デーモンが参照するのが sshd_config 主な項目    Port SSH で使うポート番号(22) Proocol SSH のバージョン HostKey ホストの秘密鍵  3) /etc/ssh_known_hosts SSH ではユーザー名、パスワードの認証を行う前にホストの正当性についても認証もされる。    最初に接続した際にはまだホストが登録されてない、といったメッセージが表示され、このようなホストの情報や    RSA鍵は /etc/.ssh/ssh_known_hosts に ホストが登録される。    尚、DSA鍵はバージョン2の ssh_known_hosts2 ファイルに登録される。  4) /etc/sshrc   ユーザーがログイン後、シェルなどを起動する前に /etc/sshrc に記述されているコマンドが実行される。  5) sshd SSH のデーモン。  6) ssh-keygen    公開鍵暗号方式ではサーバーとクライアントで一対の公開鍵と秘密鍵を用いた認証を行う。    これらの鍵を作成するために ssh-keygen を使用する。 バージョン2の鍵を作成するには -t dsa もしくは -t rsa オプションを指定する。   # ssh-keygen -t dsa # ssh-keygen -t rsa ssh-keygen で鍵を作成するとディレクトリに identity 及び identity.pub が作成されるので     これをサーバーの ~/.ssh ディレクトリに保管する。    鍵ファイルの種類は以下。     秘密鍵     公開鍵   SSH-Ver1 identity identity.pub SSH-Ver2(DSA) id_dsa id_dsa.pub SSH-ver2(RSA) id_rsa id_rsa.pub 作成された公開鍵を接続先のサーバーへ登録する。    バージョン1なら ~/.ssh/authorized_keys へ バージョン2なら ~/.ssh/authorized_keys2 ファイルに追加する。 # cat identity.pub > ~/.ssh/authorized_keys 尚、authorized_keys ファイルは所有者のみが参照できるようにしておく。(600) # chmod 600 ~/.ssh/authorized_keys --------------------------------------------------------------------------------

■ Topic 114 セキュリティー

= 1.114.1 = セキュリティー管理業務 (Weight: 4) システム設定のレビューにより、ローカルのセキュリティー・ポリシーに合わせたホストの セキュリティーを設定。 TCPラッパーの設定、suid/sgidのビット設定によるファイルの検索、パッケージの検証 ユーザパスワードおよびパスワード・エイジング情報の設定および変更、CERT、BUGTRAQ および(または)ディストリビューション・アラートの推奨するバイナリのアップデート。 IPチェーンおよびIPテーブルの知識。 key file & utilities TCP Wrappers はネットワークサービスのアクセス制御を行う。デーモン名は tcpd。 tcpd は telnetd や ftpd などのサーバープログラムに代わり要求を受け取った後に /etc/hosts.allow、/etc/hosts.deny ファイルを参照しクライアントからの接続可否をチェックする。  また、syslog を利用したログの記録も行う。  /etc/hosts.allow、/etc/hosts.deny の書式  サービス名:対象ホスト  サービス名には /etc/inetd.conf の最初のパラメータに指定されるものを、対象ホストには  ホスト名、ドメイン名、IPアドレスの範囲を記述する。  記述にあたり以下のようなワイルドカード指定ができる。  ALL 全てのサービスもしくはホスト  A EXCEPT B B 以外の A LOCAL .(ドット)を含まない全てのホスト。つまりローカルネットワーク内のホスト。 PARANOID ホスト名から DNS検索したアドレスとサービス要求元アドレスが不一致。  ローカル及び192.168.1.*** のネットワークから ftp によるアクセスを許可する場合は  /etc/hosts.allow に以下のように記述する。 in.ftpd:LOCAL  in.ftpd:192.168.1. ←ドットが最後につくことに注意。  尚、認証関係のログは /var/log/secure に記録される。  1) /proc/net/ip_fwchains  2) /proc/net/ip_fwnames ファイアーウォールのチェーンの名前全て。  3) /proc/net/ip_masquerade マスカレード接続の設定。  4) find  5) ipchains    パケットフィルタリングのユーティリティ。カーネル2.2系ではこの ipchains が使用される。    2.4系では netfilter が使用される。    Linux カーネルは Input、Output、forward の3つのチェインを持ている。    チェインとはパケットを検査する為のルールである。    インターフェイスを通過するパケットはこれらチェインのルールに適合するか検査され、    その結果によりパケットの破棄、通過を許可されたりする。    書式:    ipchains -[AD] チェイン ルール ipchains -P チェイン ターゲット ipchains -L [チェイン] オプション: -A [チェイン] チェインの最後のルールを追加する。 -D [チェイン] チェインからルールを削除する。    -P [チェイン] [ターゲット] チェインのポリシーを変更する。    -L [チェイン] ルールのリストを表示する。    チェイン:    input 入力パケット   output 出力パケット    forward 転送パケット ターゲット: ACCEPT 許可    DENY 破棄    REJECt 拒否(送信元に通知)    ルール:    -s [送信元] 送信元の IPアドレス    -d [送信先] 送信先の IP アドレス    -j [ターゲット] ターゲット    -p [プロトコル] プロトコル    -i [インターフェイス]  インターフェイス    例:input チェインのルールを表示する。        # ipchains -L input 例:アドレス 192.168.100.0/24 からのパケットを拒否する。    # ipchains -A input -s 192.168.100.0/24 -j DENY  6) passwd (= 1.111.1 = 参照)  7) socket 通信を行うためのソケットを作成する。  8) iptables netfilter の設定は iptables を使用する。    ipchains とほぼ同じ設定方法だがチェイン名が大文字であったりポリシー名が一部変更されて    いるので注意!    オプション: -A [チェイン] チェインの最後のルールを追加する。 -D [チェイン] チェインからルールを削除する。    -P [チェイン] [ターゲット] チェインのポリシーを変更する。    -L [チェイン] ルールのリストを表示する。    チェイン:    INPUT 入力パケット    OUTPUT 出力パケット    FORWARD 転送パケット    ターゲット ACCEPT 許可   DENY 破棄   REJECt 拒否(送信元に通知)    ルール:    -s [送信元] 送信元の IPアドrス    -d [送信先] 送信先の IPアドレス    --sport [ポート番号] 送信元のポート番号    --dport [ポート番号] 送信先のポート番号    -j [ターゲット] ターゲット    -p [プロトコル] プロトコル    -i [インターフェイス] インターフェイス 9) SUID SUID がセットされているファイルはスーパーユーザーと同じ権限での操作が可能となる。    SUID が設定されているファイルの検索には find を使用する。    例: # find / -perm -u+s -exec ls -al {} /dev/null \; 10) パッケージの管理。     RPM ではインストールされたパッケージについての情報を確認できる。    -V オプションを使用し、 システムにインストールされている一覧を表示する。   # rpm -Va .......T. c /etc/inittab S.5....T. c /etc/openldap/ldap.conf S.5....T. c /etc/pam_smb.conf 左の列に表示されるステータスはそれぞれ以下の意味を持つ。 S ファイルのサイズ (Size) が異なる M モード (Mode; 許可属性とファイルの種類) が異なる 5 MD5 チェックサムが異なる D デバイス (Device) のメジャー/マイナー番号が一致しない L readLink(2) したパスが一致しない U 所有者 (User) が異なる G グループ (Group) が異なる T 修正時刻 (mTime) が異なる 11) md5sum 入手したパッケージの正当性は MD5 チェックサムの値と比較する。    MD5 の値を表示するには md5sum を使用する。 12) ulimit ユーザー制限を取得・設定する その他:ユーザーのログインを禁止する場合はユーザーシェルに /bin/false を指定する。    usermod -s /bin/false guest = 1.114.2 = ホスト・セキュリティーの設定 (Weight: 3) 基本レベルのホスト・セキュリティーの設定。syslogの設定、シャドウ・パスワード ルート・メールのメール・エイリアスの設定および使用していない全てのネットワーク・サービスの調整。 key file & utilities  1) /etc/inetd.conf (= 1.113.1 = 参照)  2) /etc/inet.d/*  3) /etc/nologin このファイルを作成すると root ユーザー以外でのログインが出来なくなる。    主にメンテナンスの際に使用される。  4) /etc/passwd (= 1.111.1 = 参照)  5) /etc/shadow (= 1.111.1 = 参照)  6) /etc/syslog.conf (= 1.111.3 = 参照) = 1.114.3 = ユーザ・レベル・セキュリティーの設定 (Weight: 1) ユーザ・レベルのセキュリティー設定。ユーザのログイン、プロセス、メモリ使用の制限。 key file & utilities  1) quota  2) usermod(= 1.111.1 = 参照) ※ 覚えておくべき。やっておくべき。 tldp(http://www.tldp.org/) ⇒ The Linux Documentation Project のこと。 設定ファイルやコマンドも何もかも必ず man で調べておくこと。 それとファイルのフルパス&パーミッションやコマンドのオプションもちゃんと覚えること。 なにがいーたいかというと man は最強の参考書です。 実機へ Linux のインストール。OS を壊すくらいのつもりでカタカタするのが吉。 101はマスターしてると仮定して level2 の参考書をざっと一読。 もしくはここここから各単語を man でざっと見ておくこと。 ん、なぜかって?だって wall とか patch とかあんなことやこんな事とか 102 試験の範囲外の問題が普通に出・・・ゲホゲホ。 いじょー。